import PySimpleGUI as sg
import pandas as pd

# 导入Excel布局
de_layout = [
    [sg.Text('请选择Excel文件')],
    [sg.Input(key='-FILE-'), sg.FileBrowse(file_types=(("Excel Files", "*.xlsx"),))],
    [sg.Button('导入Excel'), sg.Button('退出')],
    [sg.Output(size=(60, 10))]
]


# 导入Excel处理函数
def import_excel(file_path):
    """
    从指定路径读取Excel文件，并将其转换为DataFrame。

    参数:
    file_path (str): Excel文件的路径。

    返回:
    DataFrame: 包含Excel数据的DataFrame。
    """
    column_names = [
        'solution', 'operation_month', 'cash_inflow', 'fixed_asset_residual', 'working_capital', 'total_investment',
        'operation_cost', 'financial_cost', 'income_tax', 'et_cash_flow'
    ]

    df = pd.read_excel(file_path, header=1, names=column_names, index_col=None)
    return df


# 主程序
if __name__ == "__main__":
    # 创建窗口
    window = sg.Window("Excel导入工具", de_layout)

    # 事件循环
    while True:
        event, values = window.read()
        if event == sg.WINDOW_CLOSED or event == '退出':
            break
        elif event == '导入Excel':
            file_path = values['-FILE-']
            if file_path:
                try:
                    data = import_excel(file_path)
                    print("导入成功！")
                    print(data.head())  # 打印前几行数据以检查
                except Exception as e:
                    sg.popup_error(f"导入Excel文件时出错：{e}")

    window.close()
